VOV Design Flow Manager
Fewer design cycles, faster
VOV automatically captures all dependencies between
files and tools, using a technique called "run-time tracing," which
is briefly explained in the rest of this page. For more information,
please refer to the bibliography.
VOV has been designed to be as non-intrusive as
possible.
In fact, it is completely possible for VOV to remain
completely invisible as long as no errors are
made. Designers can continue to work exactly as they would if
VOV did not exist.
But if the designers try either to use invalid data or
to overwrite valid data, VOV will offer a chance to
limit the waste of time or data.
Errors can be avoided altogether if the designers use VOV to invoke
the tools.
Through the detailed knowledge of dependencies, VOV helps eliminate
the design cycles caused by errors in the propagation of changes
to the design files.
The dependency graph also represents all potential parallelism
in the design flow.
VOV distributes the jobs in parallel across the network.
The use of computing resources is increased and the duration of each
design cycle is reduced.
Benefits for the designer:
- Effortless tracing of design activity
- Freedom to use any tool and design style
- Parallel execution of tools on the network
- Capability of determining effect of changes before making them
- Error-free design
- Four UIs: commands, menus, graphical, Tcl/Tk
Benefits for the project leader:
- Safer and faster design cycle
- No risk to project
- No change in design tools or style
- Documentation of design flow
- Support of team design.
- Reuse of existing methodologies
- Easy tool integration
- Monitoring of computing resources
Automatic tool scheduling and invocation to regain consistency of
data after one or multiple changes
Management of computing resources like
computers and floating licenses.
Low overhead
Archival, retrieval of methodologies
Command line, menu dirven and graphical user interface
Extension language (Tcl)
Generic interface to databases. Included are UNIX, AR, OCT (from
UC-Berkeley)
The dependency graph
Designers of electronic systems produce
thousands of files with help of their computer tools.
The files depend on each other in complex ways. If a designer changes
a file, that change must eventually propagate to all dependent files.
If the propagation is incorrect, the design will be inconsistent and
the consequences will be costly.
VOV uses a technique called run-time tracing, which is based
on the observation that only the tool knows accurately the
dependencies implied by its use.
VOV offers two ways for tools to communicate
the dependency information at run-time:
- Encapsulation
- consists normally of a shell script
that computes the run-time dependencies, communicates them to
the dependency manager, and then calls the tool. It is a powerful
technique that does not require any modification of the tool.
For the many tools that have already been encapsulated,
the encapsulation effort has gone from a few
minutes to a few weeks of work, depending on the
complexity of the tool.
- Integration
- is an option for those who have access to the
source code of the tool; it is faster and easier than encapsulation.
The VOV Integration Library (VIL) consists of 600 lines of
C code distributed in source format.
The integration library is passive if VOV is not running;
the integrated tool behaves exactly as the original tool.
The information produced by the tools is used by the VOV server
to build the dependency graph, also called the design trace.
Architecture
The client/server architecture of VOV
supports concurrent activities, team
coordination, distributed data management, and distributed processing.
The server is the UNIX process that manages the design trace.
Depending on the operating system, the server can
handle up to 250 clients simultaneously.
There are four classes of clients:
- Tools
- connect to the server to declare their inputs
and outputs, thus allowing the server to build the design trace.
- Users
- connect to the server to query and possibly
modify the trace. There are four user
interfaces avaliable.
- Slaves
- offer computing resources to the server. Whenever the
server decides that some tool needs to be executed, it will
search the list of slaves for the best one that can do the job.
The slaves are processes running on the various machines in
the local area network. They are an integral part of the network computing subsystem in VOV.
- Proxies
- contribute knowledge about databases.
The server does not
know anything about databases. All the knowledge is provided
externally by means of these proxies. This allows VOV to work
with any databases, not just with UNIX files.
Since UNIX is always needed, support for UNIX has been moved back
into the server.
Archiving methodologies
Useful and proven design methodologies can be archived and retrieved
for reuse. The VOV assistant guides you through the library of
existing methodologies and extracts data and flow information from them.
Your makefiles
and scripts can be useful to build the
design trace. VOV can convert the trace
into a makefile
or a shell script.
Many tools are already encapsulated
Runtime Design Automation provides capsules for
selected tools from
Cadence,
Exemplar Logic,
interHDL,
Model Technology,
Synopsys,
ViewLogic,
and
Xilinx,
as well as for many UNIX utilities and
C and C++ compilers.
Platforms
VOV is available on
AIX,
DEC-Alpha,
HAL
HP-UX,
Linux,
SunOS-4.x,
Solaris-2.
Back to index
© Copyright 1996 Runtime Design Automation